#include <stdio.h>
#include <stdbool.h>

int mat[9][9]={0};
int pd=0;

bool judge(int row,int col,int num)
{
    int r,c;
    int i,j;
    r=row/3*3;
    c=col/3*3;
    for(j=0;j<9;j++)
    {
        if(mat[row][j]==num)
            return false;
    }
    for(i=0;i<9;i++)
    {
        if(mat[i][col]==num)
            return false;
    }
    for(i=r;i<r+3;i++)
    {
        for(j=c;j<c+3;j++)
        {
            if(mat[i][j]==num)
                return false;
        }
    }
}



void mytry(int row,int col)
{
    if(pd)
        return;
    if(row==9)
    {
        pd=1;
        for(int i=0;i<9;i++)
        {
            for(int j=0;j<9;j++)
            {
                printf("%d ",mat[i][j]);
            }
            printf("\n");
        }

    }
    if(mat[row][col])
    {
        if(col<8)
            mytry(row,col+1);
        else
            mytry(row+1,0);
    }
    else
    {
        for(int k=1;k<=9;k++)
        {
            if(judge(row,col,k))
            {
                mat[row][col]=k;
                if(col<8)
                    mytry(row,col+1);
                else
                    mytry(row+1,0);
                mat[row][col]=0;
            }
        }
    }
}

int main(void) {
    for(int i=0;i<9;i++)
    {
        for(int j=0;j<9;j++)
        {
            scanf("%d",&mat[i][j]);
        }
    }
    mytry(0,0);
    return 0;
}
